Canonical Voices

What RedVoodoo.org talks about

Pete & Amber

Atlanta LinuxFest the Day After

Wow, I'm still in a daze. Atlanta LinuxFest (ALF) was an incredible event. It was held at the IBM facility in Atlanta on Saturday.


Some background first. My wife Amber (akgraner) was on the planning team, so I was watching this event come together from the periphery. I would hear her on planning calls and I never really understood what it takes to put an event like this together. My hats is off to all involved, I can say it gave me a new appreciation for all the work that goes into community events like this.

This was ALF's 2nd year and as such was expected to be small. It was far from that, they had over 600 registrations and at any given time during the event there were 300+ people at the event. This event was planned by 4 people with limited resources and they pulled off one hell of a LinuxFest.

The speaker line up was diverse and impressive, there was something for everyone. Additionally Amber had organized an UbuCon and it was a big hit. They had sessions topics like "Community Leadership" & "Burnout", every time I went by the UbuCon area it was packed and they had some intense discussions going on.

The Ubuntu Kernel Team took advantage of the event to get some Karmic testing done on the plethora of laptops/note/netbooks that were there. Manjo Iyer from the Kernel Team ran the testing. I don't have the exact numbers of what makes and models were tested (we still have to sift thru the data), I do believe it was well over 100 people and some had 3 & 4 machines with them. Lots of bugs were filed. I want to put out a heartfelt "Thank You" for everyone that came by for testing. You guys will make Karmic a far better release.

I gave a talk on Ubuntu, Canonical & the Ubuntu Kernel Team. I had given a talk at the Southeast LinuxFest back in June and received lots of feed back about the content. I was surprised to learn that people wanted to know about Canonical, a bit about it's structure and how Ubuntu fits in. So I incorporated lots of that back into the presentation. I also stressed how the Kernel Team is looking to expand its community, and if you want to participate you don't have to be a kernel developer, or even a programmer! We welcome anyone who is willing to test, triage or help us organize. Like in any community we need people with diverse skill sets.

Steve Conklin of the Ubuntu Kernel Team gave a talk called "Debugging the Kernel". This talk originated from another Kernel Team member Colin King (cking). The talk is basically a collection of all the wild & useful debugging techniques that Colin has come up with over the last few years.

John Johansen & Stefan Bader from the Ubuntu Kernel Team gave a rehash of Greg Kroah-Hartman's "Write a real working Linux driver" tutorial. The tutorial consisted of a Ubuntu USB live stick tricked out with compilers, headers and git tree. Users would boot the live stick so that they would have a consistent development environment. John then walked them through the basics of git, kernel device drivers and in the end the users wrote a device driver that would work with a GoTemp USB Thermometer. They had 16 thermometer devices and in the end the temperature could be read by reading a file in the /sys file system. Each session was full, I just wish we had more devices so that everyone would have had the chance to fully participate, not just watch.

Dan Chen of Ubuntu Audio fame gave a great talk on debugging audio. Judging by the size of the crowd in his talk, audio is still an issue with quite a few users.

Suse, Red Hat & Fedora were all there with booths and talks as well, however I would say that the mind share at the event went to Ubutnu. You couldn't turn around without hearing the Ubuntu login music, seeing Ubuntu stickers, banners, t-shirts everywhere!!!!

Surprisingly quite a few folks have been running Karmic in some state of Alpha for quite a while!

The day started with a Video Podcast from Mark Shuttleworth specifically for the event. Mark was about to announce the name of 10.04 when they cut the video with a slide that said "Find out at the UbuCon!"... dooh! It left everyone hanging for about another hour.

In the UbuCon area they had monitor set up with people crowed all around waiting for the announcement. They played the whole video from start to finish and finally after much anticipation, Mark announced that 10.04 would be called Lucid Lynx. This was quite a departure from other "naming announcements" where he would send out an email or post it on his blog. It was really special that it was announced at a UbuCon at a community event!

There is so much more, but I'll leave that for the other blogers... I have to catch a plane on my way to LinuxCon & Linux Plumbers in Portland!

~pete

Read more
Pete & Amber

Atlanta LinuxFest

Wanted to drop a quick note about ALF...

I'll be speaking at the Atlanta LinuxFest, talking about the Ubuntu Kernel. This will talk about the team, how we develop & maintain the Ubuntu Kernel.

In fact there are several Canonical folks talking at ALF.

  • Steve Conklin - Kernel Debugging
  • John Pugh - The Weather Ahead - Clouds
  • Ken VanDine - Ubuntu Desktop Experience
  • Rick Clark - Ubuntu Server
Along with all the speakers noted above, members of the Ubuntu Kernel Team will be conducting a driver writing session. This is based on GregKH's original driver writing presentation. We will be using a USB thermometer as the hardware and the object is to write a working driver that will get the current temperature.

Along with ALF there will be a Ubucon (Ubuntu User Conference). The Ubuntu Kernel Team will be holding a "Is your hardware ready for Karmic" workshop. We will have USB sticks loaded with a testsuite that will test most of the new Karmic hardware features like Kernel Mode Setting (KMS), grub2, net/notebook hotkeys, web cams, audio and the like. This is non destructive to the hard disk and will let folks know in advance about what the Karmic experience will look like on their hardware. If items fail to work we will file bugs on the spot with the proper debugging info attached to the bug.

I want to give a huge shout out to Manjo Iyer & Ronald Fader who have spent lots of time and hard work to make the testing happen and to John Johansen for putting together the driver writing session! Great work guys

More on ALF as it gets closer.

~pete

Read more
Pete & Amber

Split Routing Over 2 DSL Lines

Its been a bit since I've blogged last. Most of it is due to moving. We moved from Raleigh NC to a small town in the western part of NC called Union Mills. The good thing is we are on a farm, we have lots of land, space, fresh air... however the Net connection just plain sucks.

I'm 2.3 miles from the CO, so the best I can get with DSL is a 3m/384k connection thru AT&T. So I called AT&T commercial and was assured I could be 2x bonded ADSL lines that would give me effectively a 6mb connection. Guess what? The fibbed. In the end I had to settle for 2x ADSL lines not bonded, and I elected for the non-commercial option since it was far cheaper.

Now came the big question how to best effectively use em'. After hitting up Google I found lots of interesting solutions. Most were very complex, routing various protocols out this interface or that.... I wanted something that would give me the closest to a load balanced connection as possible.

I'm using a old HP Desktop with 3 network cards as my gateway router running Jaunty 9.04 Server Edition.

Below is what I came up with using ip route and iptables. I put in bogus IPs to keep it as real as possible.

First I added two routing tables to the /etc/iproute2/rt_tables file:

1 line1
2 line2

Then I found a script on the net and used it as a template and hacked it up as so:

#!/bin/bash

# DSL Lines are IF0 & IF1, IF2 is local net.
IF0=eth0
IF1=eth1
IF2=eth2

# IP Addr on Gateway matching interfaces above
IP0=192.168.1.1
IP1=192.168.2.1
IP2=172.31.0.1

# DSL IPs
P0=192.168.1.254
P1=192.168.2.254

# Network addresses
P0_NET=192.168.1.0
P1_NET=192.168.2.0

# Routing table entries
T1=1
T2=2

# Set up routes
ip route add $P0_NET dev $IF0 src $IP0 table $T1
ip route add default via $P0 table $T1
ip route add $P1_NET dev $IF1 src $IP1 table $T2
ip route add default via $P1 table $T2

ip route add $P0_NET dev $IF0 src $IP0
ip route add $P1_NET dev $IF1 src $IP1

# Set up default route to balance between both interfaces
ip route add default scope global nexthop via $P0 dev $IF0 weight 1 \
nexthop via $P1 dev $IF1 weight 1

# Add the rules for the routing tables
ip rule add from $IP0 table $T1
ip rule add from $IP1 table $T2

# Now for the masq bits
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t filter -F
iptables -t filter -X
#iptables -t nat -A POSTROUTING -o $IF0 -j MASQUERADE
#iptables -t nat -A POSTROUTING -o $IF1 -j MASQUERADE
iptables -t nat -I POSTROUTING -s 172.31.0.0/24 -j MASQUERADE

# Turn on ip_forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -A FORWARD -i $IF2 -s 172.31.0.0/24 -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# Flush routing every four hours
echo 144000 > /proc/sys/net/ipv4/route/secret_interval

It works like this... Each time a connection is established outbound, the server will decide which interface to route it out of. This should be a rough 50/50 split. The server decides based on congestion and a few other factors. Only one connection can only ever be established over the same route.

If I was start a download, it will only ever utilize a single connection, another download from the same IP will also utilize the same connection. This is due to the kernel having already cached the route. If a 3rd download to a new server was to be started it will likely be established over the second connection due to the first route being congested and the second route is idle.

The route will be flushed 4 hours after the first download completes, then a new decision with be made on how to contact the original server.

I've been using this for a bit now and it seems to do what I need it to do... give me a faster response time when I have intensive net operations going on, like vonage & rsync's to offsite machines.

By no means am I a iptables or routing guru. If anyone has any other suggestions or better ways to do it I'd love to hear them.

~pete

Read more
Pete & Amber

Android and the Ubuntu Kernel

More news out of UDS. As many know Canonical demoed Android running on Ubuntu on the x86 architecture. As was noted quite a bit did not work because the demo was running a stock Ubuntu kernel. For some background you can read an article on Ars Technica about the demo.

Today we held an open session on Incorporating Android Into the Ubuntu Kernel. It was decided that we would make an Android Enabled Ubuntu kernel available. The kernel will be available on x86 and ARM architectures.

We will be forming up the spec over the next few weeks and I'll keep updating it here as well.

For the curious.... You can find more info on Android here:

Read more
Pete & Amber

Daily upstream "crack of the day"

Announcing "crack of the day" kernel builds... Yes it's true, plain ol' upstream kernel builds of Linus' daily tree. For those of you feeling like testing some new bits, running the bleeding edge or just like pain, these kernels are for you. We make no guarantee if you'll get one every day due to the shape of the upstream tree, if it compiles you'll get it.

You can find em' here:

http://kernel.ubuntu.com/~kernel-ppa/mainline/daily/

You can thank Andy Whitcroft, its all his fault :-)

More of the UDS outcomes for the kernel over the next few days....

Read more
Pete & Amber

More kernel bits...

As of Jaunty Alpha 5 we have enabled kernel oops reporting on both our normal kernels and our vanilla kernel builds. Thanks to Jef for pointing out we should do it on our vanilla builds as well.

We have also made ext4 available for those users that would like to try it. I need to point out it is not the default option, but you can get to it thru the installer or convert to ext4 thru the commandline. Why is it not the default? At UDS in Dec, Ted Ts'o recommended that we don't make it default for this release. He felt it was very stable but not yet ready for mass consumption. I have been running it since Alpha 3 and its been working great for me, however your mileage may vary.

late edit: Amber asked what is the difference between "normal kernels and vanilla kernels". Normal kernels are upstream kernels that Ubuntu patches with code that we need in order to integrate the kernel in the distribution for example we add AUFS to make the live cd work, we at Ubuntu call these patches "Sauce". Vanilla kernels are pure unpatched upstream kernels. As stated in a previous blog post, we provide no support on the vanilla kernels, they are there there to assist users who want to test the latest upstream kernel on Ubuntu, and they also help us as Ubuntu kernel developers to find where our "sauce" patches might be breaking something.

My wife Amber is still hanging in there with Ubuntu, we are on about two weeks and counting. So far she is doing quite will. She has even found IRC and is in the Ubuntu channels. She has filed a few bugs in Launch Pad and is participating in the Jaunty Test Day. The only thing she really seems to be lacking is iMovie/iDVD equivalent applications. Linux has various apps that claim to do the same thing, none of them have the ease of use and integration. For those who are interested you can follow her exploits here: http://amber.redvoodoo.org

~pete

Read more
Pete & Amber

To the hills and some observations

This weekend I took the family to the mountains of western North Carolina. That is where my wife was born and raised and we will be moving there when the kids get of school in June.

The weather was a bit crappy today and that gave my wife lots of time to continue her investigation of Ubuntu. If you want to read its here: http://amber.redvoodoo.org

I find it very enlightening reading it. She has not been asking for my help and I have to deliberately stay away so I don't volunteer. One thing I found very informational is the Ubuntu help. To be honest I never bothered to read it. Watching her use it she was grumbling about sudo. That caught my attention so I listened more... "Why do I care what sudo does?, why do I care about a command line?" were some of the statements I heard her utter. The one that really struck me was "on my Mac I *never* use command line..." Hmmmm, it was at that point I realized we (techies) assume everyone will need to sudo and use a terminal, if we did a better job of designing interfaces they wouldn't need to. In fact you have to hunt for the terminal application on a Mac. We have it in the accessiories menu. Something to think about.

At Red Hat I managed the Base OS group and that dealt with primarily userspace & plumbing so I never really thought about how to make it better. At Canonical I manage the Kernel Team and again I don't give the desktop much thought. I have been using Linux so long I remember when you had to configure FVWM to launch your applications. Anything that was easier than that to me has been a big win. I just take it for granted you need to do things different than Windows & Mac users do. Watching Amber struggle to understand things has given me a whole new appreciation as to the work we as a community need to do.

Amber managed to get on Freeenode and join #ubuntu-women and join the ubuntu-women mailing list (her first mailing list subscription ever!). The folks in the channel were very patient and supportive of her endvour with Linux. She is very much enjoying the community aspect of it all.

~pete

Read more
Pete & Amber

Ubuntu and the New User

I had no sooner got home from Europe when my wife Amber has the idea that she wants to use Ubuntu. (Thats what I get for getting her an Ubuntu T-Shirt with "Linux for Human Beings" on the back.)

My wife was a die hard windows user for years. When I got tired of being her personal admin, we moved to a Mac. For me a Mac was close enough to Linux in that I could ssh in, do most thing remotely... As of yesterday I couldn't pry a Mac out of her cold dead hands...

Over the years I had tried to move here to various Red Hat flavors since I worked at Red Hat, we tried RHL, Fedora, RHEL WS, and every time it met with abysmal failure. Usually it manifested itself as some sort of failure when I was out of town, she couldn't print, WIFI wouldn't work, or just her plain impatience when it comes to button clicking. If something doesn't immediately return she keeps clicking, selecting more and more menu choices until the computer grinds to a halt with 10,000 dialog boxes all over the screen with wording she does not understand.

So I'm back aboard the "convert the wife to Linux" train yet again. This time I don't get to help, advise or otherwise participate. I gave her an old laptop the Ubuntu 8.10 Intrepid CD and showed her how to "press F12" to get to the boot selection menu.

She is blogging about it if you want to follow the saga you can here:

http://amber.redvoodoo.org

Cuz God knows I'm living it... *sigh*

~pete

Read more
Pete & Amber

Jaunty Kernel Bits

It has been a long few weeks, with that said I'll try and recap some of the more interesting things that have been going on with Ubuntu, specifically the kernel happenings in the Jaunty Jackalope release.

The Platform Team met in Berlin for the Jaunty Platform Sprint for the week of 2-6 Feb. This was an incredible event with the vast majority of the Canonical Engineering teams. We had both cross team and individual sub-team tracks. The kernel track covered all of the release roadmap items and administrative topics.

I'll talk about some of the roadmap items and the most interesting highlights...

Kernel Version

The Jaunty Kernel version will be 2.6.28. We considered 2.6.29, it was not selected however due to all of the major changes. The primary reasons were due to the large number new features that are scheduled to land in it. Regression of functionality is a large concern and there would be a good chance of that happening given when estimated date that Linus will declare it baked. Unfortunately it just doesn't line up with the Jaunty release cycle. On the bright side... for Jaunty+1 we will have time to shake out any issues and are looking towards 2.6.30 or .31

Suspend & Resume

We are making the suspend & resume one of our top priorities for this cycle. We ran a suspend and resume workshop with every notebook at the sprint.

Surprisingly we had a small number of failures. Most of them were on resume with NVidia video. We did not test the priority divers only the free ones. Out of 65 machines tested (various models) there were 12 failures.

We will be issuing a Call For Testing at the Beta release, however for those of you that want to play along at home early you can visit the Suspend/Resume wiki here: https://wiki.ubuntu.com/KernelTeam/SuspendResumeTesting and some more of the background material is here: https://wiki.ubuntu.com/KernelTeam/SuspendResume

Some other notable suspend and resume news for Jaunty...

  • There is a new testing script to test (and stress test) suspend resume.
  • Suspend/Resume script will also be integrated into checkbox (aka System->Administration->System Testing) for ease of testing.
  • If a suspend/resume cycle fails it is detected by apport and the user will have the option of filing a bug
Vanilla Kernel Builds

Starting with Alpha 5 we will have available .deb packaged pure upstream vanilla kernels available.

The primary intent for doing this is to allow our community to test kernels without the Ubuntu "sauce", that is things that we add to the kernel to support the Ubuntu distribution. The goal is to help get wider testing of the upstream kernel source by leveraging interesting Ubuntu Community members.

In addition to Jaunty we are doing this for Hardy, Intrepid and the current active kernel development branch. The planned update schedule for each of these is:
  • Hardy, Intrepid - Upon a stable upstream point release i.e. 2.6.27.3
  • Jaunty - Every RC until release final is declared. Then it will fall into the same cycle as Hardy & Intrepid
  • Current active devel branch - Currently 2.6.29 updated on every RC release
The plan is to have them available in the Ubuntu-Kernel-Team PPA, until them you can find them at: http://kernel.ubuntu.com/~apw

There is a lot more and I'll talk more about them later. As usual I'm on a plane back from Europe and my battery is beginning to run low, so thats prob about enough for this post.

~pete

Read more
Pete & Amber

Backing out the procps change... how it works

I've had some questions on how we backed out the procps change, specifically the mechanism that was used. Here is how it works;

Both the kernel package and the procps package are security updates. The procps package removed the file /etc/sysctl.d/10-tcp-timestamps-workaround.conf (at least as long as the user had not modified it; it takes care in its preinst to check for this, since clobbering explicitly modified configuration files would be a clear policy violation). However it does not "undo" the setting on the fly in the running kernel. The new kernel is installed and upon rebooting you will get tcp timestamps turned back on, since the configuration file that turned them off is no longer present.

It's true that it's technically possible for a user to upgrade procps but not the kernel, or vice versa. However, we felt that it wasn't worth the gymnastics required to cope with this, bearing in mind that there are many different kernel package names in 8.10, many of which never suffered from this problem in the first place, and that the TCP timestamps setting is not undone until you reboot. Particularly given that the kernel update doesn't change ABI and therefore doesn't change package name, the overwhelming majority of users will just apply both security updates at once. We made sure that both the kernel and procps were published with all their binaries at the same time.

Thanks to Colin Watson for the technial explination.

~pete

Read more
Pete & Amber

As the Ubuntu Intrepid release came down to the wire we ended having a serious bug (LP #264019). This bug was very difficult due to the way it manifested itself. First some background.

For a number of years the Linux Kernel had something called TCP Timestamping in the kernel. In 2.6.27 in the rc1 timeframe upstream did some TCP stack fixes and one of these broke some very old consumer grade DSL modems and routers. Keep in mind the fixes in question are technically correct, they follow the requisite IETF RFCs. It was this old consumer grade equipment that was at fault. All this is documented in kernel bugzilla in bug #11721. In the end a patch was developed that reset the TCP ordering.

Ok, after all this why is this such a big deal? Timing and the nature of the bug. A user reported that without this patch they could not connect to our archive servers over the Internet. This posed a problem for any user that had the old hardware. They would be unable to get the fix via the normal update method. Not a good thing.

So the next question would be why not just add the kernel patch? Thats where the timing issue comes in. We were at a point in the release cycle where to spin, test and validate a new kernel would have delayed the release up to a week.

We decided to go with a temporary workaround. The workaround would all the affected users the ability to get the fixed kernel. In parallel we prepared a security kernel that was ready in the archive by the time the Intrepid images hit the mirrors. The security kernel turns off the workaround we put into the procps package, and contains only the patch to fix this issue.

Decisions like this are made all the time by Distribution vendors. Its walking a fine line between whats best for the users and the amount of work, cost and end user expectation. We don't take issues like this lightly, all parts of the Ubuntu team and the highest levels of Canonical management are involved.

I hope this helps clairify things for people.

P.S. Its currently 14:43 London time as I write this and the security kernel has not yet hit the archive. Don't worry its making in the process of being published. It hould the archive shortly.


~pete

Read more
Pete & Amber

Bureaucracy

I received a comment on my blog, referencing the Kernel Team requiring a LP bug prior to committing a patch to the tree. The person commenting called it "Bureaucracy". I thought this would be the common reaction so I wanted to raise it here. My response is below...

Its not about bureaucracy, its about accountability. We add numerous patches during a cycle. While most do have a LP entry there are quite a few that don't. The problem manifests itself when someone can't remember why they added the patch. Obviously it was intended to fix a problem. There have been occasions where the patch, while fixing one bug introduced a much bigger one. When going back through the history trying to figure out why we would add it, the usual answer is "it seemed like a good idea at the time".

We are striving to stick as closely as possible to upstream, and every patch we add, whether a backport from a newer kernel or a sauce patch needs to have a bug attached. This is common a common "Change Control Measure". If it worth adding it should have a valid bug attached.

~pete

Read more
Pete & Amber

Linux Plumbers Conference Recap.

Seems like these days I get most of my blogging done on the plane going from here to there. This entry is no different.

I spent the last week with the kernel team in Portland. We held a mini-sprint on Monday and Tuesday, and Wednesday thru Friday were consumed with the Linux Plumbers Conference.

Some developments out of the mini-sprint:

* We will be adding git commit hooks for all check-ins. If a LP bug number is not referenced in the commit template, the commit won't happen. This will prevent stray patches from going to the tree with out a bug, explanation/rationale & justification. Thanks to Launchpad's new API we can flip the state from "In Progress" to "Fixed Released" and drop the commits SHA1 id into a comment in the bug.

* More kernel QA. We will be hooking the build into Kees's automatic security testing framework. By having every commit needing a LP bug we can attach a test case to the bug and have it automatically inserted into the test harness. This will keep regressions from sneaking into the build and give us a higher QA on the kernel.

* The kernel team will be packaging up the latest bleeding edge upstream "Vanilla" kernel. There are some details still to be worked out, like where it will live. Will go in main or universe, a PPA... The point with this is so that users will have a pristine upstream kernel to test against. This is where the kernel team is doing new development anyway. If the issue is fixed we can quickly do a git bisect and figure out what patch is needed and backport it to the stable kernel if it makes sense. I'll write more about this one in a future blog posting.

The Plumbers Conference was outstanding given this was it's first year. The talks were good, focused and useful. For example Arjan's "Booting in 5 sec" was right on time. Some of the low hanging fruit faster boot stuff we can prob squeeze into Intrepid.

Canonical took a beating from Greg Kroah-Hartman of Novell during his Keynote Speech. He has had a long running issue with Canonical not "giving back" and "leeching". Both Matt Zimmerman and I took this opportunity to talk with Greg.

It was a productive conversation and I think we have come to some common ground. Our plan as we hire more kernel developers is to work in upstream head and work on kernel bits that are of interest to Ubuntu and Canonical. We will be pushing patches and fixes to the upstream sub-system maintainers. We talked briefly on what he considers "good upstream" citizenry. Greg offered his help and advice going forward. We will continue the discussion in email.

We'll the battery is about dead so I need to save and shutdown.

~pete

Read more
Pete & Amber

Thoughts about growing up.

This was a seriously busy weekend for work. We were trying to debug hardware and software problems on a particular model of computer. We were running into some late breaking issues and for one reason or another, all the test units were at my house.

After hours of debugging and replication we finally found the issues & created fixes. Now comes the fun part. Testing to validate that we really did fix the issue. I had all the hardware, four of the units to be exact. One of the issue only manifested itself during a cold boot. To test it we had to boot the machine, wait till it came up to the GUI and shut it back down and start all over. No big deal right? Sounds easy huh? Try it across four computers 100 times per computer. Not hard, but time consuming.

That why I was blessed with children. I guess I got that from my parents (I was the family remote control until I moved out!) My son Matt (he's 11) was instrumental to the replication process. He dutifully sat behind two of the computers trying to get it to break while I had the other two and tried to replicate the other problem. And sure enough after a few hours we replicated it and worked with the rest of the team to develop the fixes.

Once we had the fixes he led the charge on testing, he rounded up his sister and they sat in font of the computers, flashing the BIOS, installing Ubuntu from USB flash drives and started testing. Six hours later the testing was complete.

The events of this past weekend got me thinking about when I was a kid. I remember working with my dad on the car, fixing lawnmower engines, hunting, fishing. Thats where my dad taught me about being a man. One of his favorite sayings was "Don't do anything half-assed, your as good as your word and the job you do". Its a different time and place today from when I grew up. My dad worked in factories and was a manual laborer. I work with computers, not much manual labor these days and I don't work on my car, I pay someone to mow my lawn. I remember being about 12 or 13 in the middle of the winter under our family car, a 1972 Ford LTD in the driveway with snow all around. We had to rebuild the transmission. Does anyone do that anymore?

As I thought about all this, I realized while I do spend time with my kids, its not the same. For example Dad taught me bar room etiquette, how to shoot pool, throw darts and in general to be a good citizen in the rough and tumble world. I grew up in Prescott Arizona and there is one of the oldest saloons in the town called the Palace Bar. Dad and I would meet some of his buddies on Saturday afternoons and he would bring me along. I was all of about 10 years old. He would prop me up on the bar stool order me a Coke and meet with his friends. He would teach me the finer points of how to behave. Today you can't even bring a kid into a bar. No wonder people don't know how to act in that type of setting. How many time have you seen a young kid acting the fool?

I guess in a different way I'm passing the mantle to my son. He can do things with computers and Linux that most grown adults can't do. We don't work on cars, but we do work on computers together. We do fish and hunt (not enough as we would like) so some things don't change.

I'm off this week to the Linux Plumbers conference in Portland, in fact I'm writing this on the plane on the way there. When I get back I think I take my son fishing and start tell him all the things his Grandfather taught me and more. I know times have changed and its not quite the same but hopefully as he gets older he'll remember one day and say "Wow dad was right". I know I say it all the the time...

~pete

Read more
Pete & Amber

New Kernel Upload 2.6.27-3.4

rtg (Tim Gardner) just uploaded Intrepid 2.6.27-3.4 rebased on 2.6.27-rc6 look for it to hit the repos soon.

Changelog:

Changes:
linux (2.6.27-3.4) intrepid; urgency=low

[ Colin Ian King ]

* SAUCE: fix kernel oops in VirtualBox during paravirt patching
- LP: #246067
* SAUCE: qc-usb: Enable Logitech QuickCam Messenger
- LP: #209901
* SAUCE: appleir: Enable driver for new MacBook Pro
- LP: #157919

[ Tim Gardner ]

* Enabled CONFIG_DEBUG_RODATA=y

[ Upstream Kernel Changes ]

* Revert "ALSA: hda - Added model selection for iMac 24""
* Revert "x86: fix HPET regression in 2.6.26 versus 2.6.25, check hpet
against BAR, v3"
* Revert "[ARM] use the new byteorder headers"
* Revert "mac80211: Use IWEVASSOCREQIE instead of IWEVCUSTOM"
* Revert "crypto: camellia - Use kernel-provided bitops, unaligned access
helpers"
* svcrdma: Fix race between svc_rdma_recvfrom thread and the dto_tasklet
* sched, cpuset: rework sched domains and CPU hotplug handling (v4)
* ACPI: Fix now signed module parameter.
* ACPI: Change package length error to warning
* ACPI: Fix now signed module parameter.
* ACPI: Fix typo in "Disable MWAIT via DMI on broken Compal board"
* acpi: add checking for NULL early param
* UBIFS: fix zero-length truncations
* Input: bcm5974 - add maintainer entry
* sh64: re-add the __strnlen_user() prototype
* sh: fix ptrace_64.c:user_disable_single_step()
* PNPACPI: ignore the producer/consumer bit for extended IRQ descriptors
* UBIFS: always read hashed-key nodes under TNC mutex
* UBIFS: allow for racing between GC and TNC
* [CIFS] Fix plaintext authentication
* sparc32: Implement smp_call_function_single().
* sh: crash kernel resource fix
* sh: fix kexec entry point for crash kernels
* sh: fix platform_resource_setup_memory() section mismatch
* sh: update Migo-R defconfig
* sh: update AP325RXA defconfig
* sh: fix semtimedop syscall
* cifs: fix O_APPEND on directio mounts
* [CIFS] update cifs change log
* [CIFS] Turn off Unicode during session establishment for plaintext
authentication
* ACPI: thinkpad-acpi: wan radio control is not experimental
* sparc: Fix resource flags for PCI children in OF device tree.
* remove blk_register_filter and blk_unregister_filter in gendisk
* ALSA: oxygen: fix distorted output on AK4396-based cards
* ipv6: When we droped a packet, we should return NET_RX_DROP instead of
0
* pkt_sched: Fix locking of qdisc_root with qdisc_root_sleeping_lock()
* net: Unbreak userspace usage of linux/mroute.h
* Don't trigger softlockup detector on network fs blocked tasks
* Resource handling: add 'insert_resource_expand_to_fit()' function
* sparc64: setup_valid_addr_bitmap_from_pavail() should be __init
* UBIFS: do not update min_idx_lebs in stafs
* UBIFS: push empty flash hack down
* UBIFS: remove incorrect index space check
* UBIFS: improve statfs reporting
* UBIFS: fix assertion
* UBIFS: add forgotten gc_idx_lebs component
* UBIFS: introduce LEB overhead
* UBIFS: improve statfs reporting even more
* UBIFS: fill f_fsid
* drm/radeon: downgrade debug message from info to debug.
* Remove invalidate_partition call from do_md_stop.
* Fix problem with waiting while holding rcu read lock in md/bitmap.c
* ALSA: hda: Distortion fix for dell_m6_core_init
* ALSA: ASoC: fix pxa2xx-i2s clk_get call
* block: restore original behavior of /proc/partition when there's no
partition
* debugobjects: fix lockdep warning
* avr32: Fix lockup after Java stack underflow in user mode
* avr32: pm_standby low-power ram bug fix
* nfsd: fix compound state allocation error handling
* sunrpc: fix possible overrun on read of /proc/sys/sunrpc/transports
* nfsd: fix buffer overrun decoding NFSv4 acl
* audit: Moved variable declaration to beginning of function
* Fix modules_install on RO nfs-exported trees.
* Remove '#include ' from mm/page_isolation.c
* dabusb_fpga_download(): fix a memory leak
* [MTD] mtdchar.c: Fix regression in MEMGETREGIONINFO ioctl()
* ALSA: hda - Fix ALC663 auto-probe
* ALSA: hda - Add mic-boost controls to ALC662/663 auto configuration
* Un-break printk strings in x86 PCI probing code
* kernel/resource.c: fix new kernel-doc warning
* softlockup: minor cleanup, don't check task->state twice
* fix typo in arch/parisc/hpux/fs.c
* m68k: atari_keyb_init operator precedence fix
* ACPI: Fix typo in "Disable MWAIT via DMI on broken Compal board"
* don't diff generated firmware files
* IDE: compile fix for sff_dma_ops
* IDE: palm_bk3710: fix compile warning for unused variable
* ide: fix hwif_to_node()
* palm_bk3710: improve IDE registration
* ide-disk: remove stale init_idedisk_capacity() documentation
* ide/Kconfig: mark ide-scsi as deprecated
* net/wireless/Kconfig: clarify the description for
CONFIG_WIRELESS_EXT_SYSFS
* iwlwifi: do not use GFP_DMA in iwl_tx_queue_init
* iwlwifi: workaround interrupt handling no some platforms
* iwlwifi: fix apm_stop (wrong bit polarity for FLAG_INIT_DONE)
* iwlwifi: fix 64bit platform firmware loading
* orinoco: Multicast to the specified addresses
* wireless/libertas/if_cs.c: fix memory leaks
* mac80211: Fix debugfs union misuse and pointer corruption
* rt2x00: Compiler warning unmasked by fix of BUILD_BUG_ON
* ath9k: Incorrect key used when group and pairwise ciphers are
different.
* ath9: Fix ath_rx_flush_tid() for IRQs disabled kernel warning message.
* net/xfrm: Use an IS_ERR test rather than a NULL test
* ipv: Re-enable IP when MTU > 68
* NTFS: update homepage
* mm: make setup_zone_migrate_reserve() aware of overlapping nodes
* VFS: fix dio write returning EIO when try_to_release_page fails
* acer-wmi: remove debugfs entries upon unloading
* mm/bootmem: silence section mismatch warning -
contig_page_data/bootmem_node_data
* MAINTAINERS: add a maintainer for the BCM5974 multitouch driver
* 8250: improve workaround for UARTs that don't re-assert THRE correctly
* mmc: at91_mci: don't use coherent dma buffers
* pid_ns: zap_pid_ns_processes: fix the ->child_reaper changing
* pid_ns: (BUG 11391) change ->child_reaper when init->group_leader exits
* cirrusfb: check_par fixes
* devcgroup: fix race against rmdir()
* mm: show quicklist usage in /proc/meminfo
* mm: size of quicklists shouldn't be proportional to the number of CPUs
* ipc: document the new auto_msgmni proc file
* hp-wmi: update to match current rfkill semantics
* hp-wmi: add proper hotkey support
* tdfxfb: fix SDRAM memory size detection
* tdfxfb: fix frame buffer name overrun
* rtc_time_to_tm: fix signed/unsigned arithmetic
* ibft: fix target info parsing in ibft module
* sysfs: document files in /sys/firmware/sgi_uv/
* rtc-cmos: wake again from S5
* pm_qos_requirement might sleep
* drivers/char/random.c: fix a race which can lead to a bogus BUG()
* ipsec: Fix deadlock in xfrm_state management.
* [x86] Fix TSC calibration issues
* tipc: Don't use structure names which easily globally conflict.
* sparc64: Fix IPI call locking.
* [ARM] omap: fix gpio.c build error
* sparc64: Prevent sparc64 from invoking irq handlers on offline CPUs
* powerpc: Fix uninitialised variable in VSX alignment code
* powerpc: Only make kernel text pages of linear mapping executable
* powerpc: Make sure _etext is after all kernel text
* powerpc: Work around gcc's -fno-omit-frame-pointer bug
* powerpc: Fix build error with 64K pages and !hugetlbfs
* powerpc: Fix for getting CPU number in power_save_ppc32_restore()
* UBIFS: amend f_fsid
* net/usb/pegasus: avoid hundreds of diagnostics
* ixgbe: initialize interrupt throttle rate
* pcnet-cs, axnet_cs: add new IDs, remove dup ID with less info
* netxen: Remove workaround for chipset quirk
* Split up PIT part of TSC calibration from native_calibrate_tsc
* iwlwifi: W/A for the TSF correction in IBSS
* iwlwifi: fix hidden ssid discovery in passive channels
* iwlwifi: remove false rxon if rx chain changes
* iwlwifi: fix station mimo power save values
* iwlwifi: fix rx_chain computation
* iwlwifi: fix Tx cmd memory allocation failure handling
* iwlwifi: call apm stop on exit
* iwlwifi: fix STATUS_EXIT_PENDING is not set on pci_remove
* ath9k: Fix TX status reporting
* ath9k: Fix TX control flag use for no ACK and RTS/CTS
* V4L/DVB (8555): au8522: add mechanism to configure IF frequency for vsb
and qam
* V4L/DVB (8556): au0828: add support for Hauppauge Woodbury
* V4L/DVB (8598): au8522: clean up function au8522_set_if
* V4L/DVB (8599): au8522: remove if frequency settings from vsb/qam
modulation tables
* V4L/DVB (8600): au0828: explicitly set 6 MHz IF frequency in
hauppauge_hvr950q_config
* V4L/DVB (8629): v4l2-ioctl: do not try to handle private V4L1 ioctls
* V4L/DVB (8633): ivtv: update ivtv version number
* V4L/DVB (8648): ivtv: improve CC support
* V4L/DVB (8660): gspca: Simplify the scan of URB packets in pac7311.
* V4L/DVB (8661): gspca: Bug in the previous changeset about pac7311.
* V4L/DVB (8663): gspca: Webcam 0c45:6128 added in sonixj.
* V4L/DVB (8664): gspca: The bridge/sensor of the webcam 093a:2621 is a
PAC 7302.
* V4L/DVB (8665): gspca: Fix the 640x480 resolution of the webcam
093a:2621.
* V4L/DVB (8666): gspca: Bad scanning of frames in pac7311.
* V4L/DVB (8667): gspca: Bad probe of Z-Star/Vimicro webcams with pas106
sensor.
* V4L/DVB (8668): gspca: Conflict GSPCA / ET61X251 for the webcam
102c:6251.
* V4L/DVB (8669): gspca: Add white balance control for spca561 rev 012A.
* V4L/DVB (8671): gspca: Remove the unused field 'dev_name' of the device
structure.
* V4L/DVB (8672): gspca: Big rewrite of spca561.
* V4L/DVB (8673): gspca: Bad frame scanning again and bad init in
pac7311.
* V4L/DVB (8674): gspca: Webcam 0c45:612e added in sonixj.
* V4L/DVB (8675): gspca: Pixmap PJPG (Pixart 73xx JPEG) added, generated
by pac7311.
* V4L/DVB (8678): Remove the dead CONFIG_RADIO_MIROPCM20{,_RDS} code
* V4L/DVB (8681): v4l2-ioctl.c: fix warning
* V4L/DVB (8682): V4L: fix return value of register video func
* V4L/DVB (8701): cx18: Add missing lock for when the irq handler
manipulates the queues
* V4L/DVB (8703): gspca: Do controls work for spca561 revision 12a.
* V4L/DVB (8705): gspca: Adjust some control limits in spca561.
* V4L/DVB (8706): Make contrast and brightness work for pac7302.
* V4L/DVB (8707): gspca: Colors, hflip and vflip controls added for
pac7302.
* V4L/DVB (8709): gspca: Fix initialization and controls of sn9x110 -
ov7630.
* V4L/DVB (8710): gspca: Bad color control in sonixj.
* V4L/DVB (8711): gspca: Bad controls and quantization table of pac7311.
* V4L/DVB (8712): gspca: Bad start of sonixj webcams since changeset
a8779025e7e8.
* V4L/DVB (8713): gspca: Bad color control again in sonixj.
* V4L/DVB (8714): gspca: Bad start of sn9c110 and sensor om6802.
* V4L/DVB (8715): gspca: Change the name of some webcam in the gspca doc.
* V4L/DVB (8716): gspca: Bad start of sn9c110 and sensor ov7630.
* V4L/DVB (8717): gspca: Frame buffer too small for small resolutions
(sonixj and t613).
* V4L/DVB (8718): gspca: suspend/resume added.
* V4L/DVB (8719): gspca: Have VIDIOC_QUERYCTRL more compliant to the
spec.
* V4L/DVB (8720): gspca: V4L2_CAP_SENSOR_UPSIDE_DOWN added as a cap for
some webcams.
* V4L/DVB (8722): sms1xxx: fix typo in license header
* V4L/DVB (8726): link tuner before saa7134
* V4L/DVB (8727): V4L1: make PMS not autoprobe when builtin.
* V4L/DVB (8728): 1-make-pms-not-autoprobe-when-builtin update
* V4L/DVB (8749): Fix error code, when camera is not turned on by sonypi
* V4L/DVB (8750): V4L: check inval in video_register_device_index()
* V4L/DVB (8751): vivi: Fix some issues at vivi register routine
* V4L/DVB (8757): v4l-dvb: fix a bunch of sparse warnings
* V4L/DVB (8769): cx18: Simplify queue flush logic to prevent oops in
cx18_flush_queues()
* V4L/DVB (8778): radio: fix incorrect video_register_device result check
* V4L/DVB (8779): v4l: fix more incorrect video_register_device result
checks
* V4L/DVB (8790): saa7115: call i2c_set_clientdata only when state !=
NULL
* V4L/DVB (8803): s5h1409: Enable QAM_AUTO mode
* V4L/DVB (8804): s5h1411: Enable QAM_AUTO mode
* V4L/DVB (8805): Steven Toth email address change
* V4L/DVB (8809): gspca: Revert commit
9a9335776548d01525141c6e8f0c12e86bbde982
* V4L/DVB (8810): gspca: Compile error when CONFIG_PM not defined.
* V4L/DVB (8812): gspca: Do pac73xx webcams work.
* V4L/DVB (8813): gspca: Adjust SOF detection for pac73xx.
* V4L/DVB (8814): gspca: Set DISABLED the disabled controls at query
control time.
* V4L/DVB (8815): gspca: Fix problems with disabled controls.
* V4L/DVB (8816): gspca: Set disabled ctrls and fix a register pb with
ovxxxx in sonixb.
* V4L/DVB (8817): gspca: LED and proble changes in sonixb.
* V4L/DVB (8818): gspca: Reinitialize the device on resume.
* V4L/DVB (8819): gspca: Initialize the ov519 at open time and source
cleanup.
* V4L/DVB (8820): gspca: Change initialization and gamma of zc3xx -
pas106.
* V4L/DVB (8822): gspca: Change some subdriver functions for
suspend/resume.
* V4L/DVB (8823): gspca: H and V flips work for ov7670 only in ov519.
* V4L/DVB (8824): gspca: Too much code removed in the suspend/resume
changeset.
* V4L/DVB (8825): gspca: More controls for pac73xx and new webcam
093a:2624.
* V4L/DVB (8826): gspca: Webcam Labtec 2200 (093a:2626) added in pac7311.
* V4L/DVB (8827): gspca: Stop pac7302 autogain oscillation.
* V4L/DVB (8828): gspca: Set the clock at the end of initialization in
sonixj.
* V4L/DVB (8829): gspca: Have a clean kmalloc-ated buffer for USB
exchanges.
* V4L/DVB (8830): gspca: Move some probe code to the new init function.
* V4L/DVB (8831): gspca: Resolve webcam conflicts between some drivers.
* V4L/DVB (8832): gspca: Bad pixelformat of vc0321 webcams.
* V4L/DVB (8833): gspca: Cleanup the sonixb code.
* V4L/DVB (8834): gspca: Have a bigger buffer for sn9c10x compressed
images.
* V4L/DVB (8835): gspca: Same pixfmt as the sn9c102 driver and raw Bayer
added in sonixb.
* V4L/DVB (8837): dvb: fix I2C adapters name size
* V4L/DVB (8839): dib0700: add comment to identify 35th USB id pair
* V4L/DVB (8840): dib0700: add basic support for Hauppauge Nova-TD-500
(84xxx)
* V4L/DVB (8842): vivi_release(): fix use-after-free
* V4L/DVB (8843): tda10048_firmware_upload(): fix a memory leak
* V4L/DVB (8844): dabusb_fpga_download(): fix a memory leak
* bnx2x: Accessing un-mapped page
* SELinux: memory leak in security_context_to_sid_core
* x86: add io delay quirk for Presario F700
* mmap: fix petty bug in anonymous shared mmap offset handling
* x86: Change warning message in TSC calibration.
* PCI: fix pbus_size_mem() resource alignment for CardBus controllers
* [ARM] omap: fix build error in ohci-omap.c
* [ARM] remove unused #include
* ACPI: Make Len Brown the ACPI maintainer again
* fujitsu-laptop: fix regression for P8010 in 2.6.27-rc
* ACPI: Avoid bogus timeout about SMbus check
* acer-wmi: remove debugfs entries upon unloading
* forgotten refcount on sysctl root table
* V4L/DVB (8868): gspca: Support for vga modes with sif sensors in
sonixb.
* V4L/DVB (8869): gspca: Move the Sonix webcams with TAS5110C1B from
sn9c102 to gspca.
* V4L/DVB (8870): gspca: Fix dark room problem with sonixb.
* V4L/DVB (8872): gspca: Bad image format and offset with rev072a of
spca561.
* V4L/DVB (8873): gspca: Bad image offset with rev012a of spca561 and
adjust exposure.
* V4L/DVB (8874): gspca: Adjust hstart for sn9c103/ov7630 and update
usb-id's.
* [ARM] omap: fix virtual vs physical address space confusions
* V4L/DVB (8876): budget: udelay changed to mdelay
* V4L/DVB (8877): b2c2 and bt8xx: udelay to mdelay
* V4L/DVB (8880): PATCH: Fix parents on some webcam drivers
* V4L/DVB (8881): gspca: After 'while (retry--) {...}', retry will be -1
but not 0.
* powerpc/spufs: Fix multiple get_spu_context()
* powerpc/spufs: Fix race for a free SPU
* Input: bcm5974 - small formatting cleanup
* Input: bcm5974 - improve finger tracking and counting
* Input: bcm5974 - add BTN_TOUCH event for mousedev benefit
* Input: i8042 - make Lenovo 3000 N100 blacklist entry more specific
* sh: resume_kernel fix for kernel oops built with CONFIG_BKL_PREEMPT=y.
* sh64: resume_kernel fix for kernel oops built with
CONFIG_BKL_PREEMPT=y.
* i2c: fix i2c-sh_mobile timing issues
* clockevents: prevent clockevent event_handler ending up handler_noop
* clockevents: prevent endless loop in periodic broadcast handler
* clockevents: enforce reprogram in oneshot setup
* clockevents: prevent multiple init/shutdown
* clockevents: prevent endless loop lockup
* HPET: make minimum reprogramming delta useful
* [MTD] [NAND] tmio_nand: fix base address programming
* Fix conditional export of kvh.h and a.out.h to userspace.
* async_tx: fix the bug in async_tx_run_dependencies
* sched_clock: fix NOHZ interaction
* sched: fix process time monotonicity
* UBIFS: fix division by zero
* UBIFS: make minimum fanout 3
* [MIPS] Fix data bus error recovery
* [MIPS] Fix WARNING: at kernel/smp.c:290
* [MIPS] TXx9: Fix txx9_pcode initialization
* [MIPS] TX39xx: Add missing local_flush_icache_range initialization
* [MIPS] Probe initrd header only if explicitly specified
* res_counter: fix off-by-one bug in setting limit
* forcedeth: fix kexec regression
* atmel_lcdfb: fix oops in rmmod when framebuffer fails to register
* tracehook: comment pasto fixes
* drivers/mmc/card/block.c: fix refcount leak in mmc_block_open()
* x86: boot: stub out unimplemented CPU feature words
* x86: add NOPL as a synthetic CPU feature bit
* x86: use X86_FEATURE_NOPL in alternatives
* clockevents: broadcast fixup possible waiters
* x86: HPET fix moronic 32/64bit thinko
* x86: HPET: read back compare register before reading counter
* Fix CONFIG_AC97_BUS dependency
* [ARM] 5241/1: provide ioremap_wc()
* ntp: fix calculation of the next jiffie to trigger RTC sync
* clocksource, acpi_pm.c: use proper read function also in errata mode
* clocksource, acpi_pm.c: check for monotonicity
* x86: delay early cpu initialization until cpuid is done
* x86: move mtrr cpu cap setting early in early_init_xxxx
* sched: arch_reinit_sched_domains() must destroy domains to force
rebuild
* x86, xen: Use native_pte_flags instead of native_pte_val for .pte_flags
* x86: pda_init(): fix memory leak when using CPU hotplug
* x86: cpu_init(): fix memory leak when using CPU hotplug
* powerpc/spufs: Fix possible scheduling of a context to multiple SPEs
* netfilter: nf_conntrack_sip: de-static helper pointers
* netfilter: nf_conntrack_gre: more locking around keymap list
* netfilter: nf_conntrack_gre: nf_ct_gre_keymap_flush() fixlet
* netfilter: nf_conntrack_irc: make sure string is terminated before
calling simple_strtoul
* pkt_sched: Fix qdisc state in net_tx_action()
* powerpc: Fix rare boot build breakage
* ahci, pata_marvell: play nicely together
* sata_mv: add RocketRaid 1720 PCI ID to driver
* ahci: disable PMP for marvell ahcis
* sata_nv: disable hardreset for generic
* libata-sff: kill spurious WARN_ON() in ata_hsm_move()
* pata_sil680: remove duplicate pcim_enable_device
* ahci: RAID mode SATA patch for Intel Ibex Peak DeviceIDs
* [MIPS] IP22: Fix detection of second HPC3 on Challenge S
* xen: fix 2.6.27-rc5 xen balloon driver warnings
* x86: disable static NOPLs on 32 bits
* netns : fix kernel panic in timewait socket destruction
* bridge: don't allow setting hello time to zero
* NFS: Restore missing hunk in NFS mount option parser
* usb: fix null deferences in low level usb serial
* Fix format of MAINTAINERS
* sparc64: Disable timer interrupts in fixup_irqs().
* [Bluetooth] Fix reference counting during ACL config stage
* [Bluetooth] Enforce correct authentication requirements
* [Bluetooth] Reject L2CAP connections on an insecure ACL link
* [S390] CVE-2008-1514: prevent ptrace padding area read/write in 31-bit
mode
* [S390] cio: Correct cleanup on error.
* [S390] cio: handle ssch() return codes correctly.
* [S390] cio: allow offline processing for disconnected devices
* ipsec: Restore larval states and socket policies in dump
* update Documentation/filesystems/Locking for 2.6.27 changes
* MAINTAINERS: add Atheros maintainer for atlx
* lib: Correct printk %pF to work on all architectures
* x86: fix memmap=exactmap boot argument
* clockevents: remove WARN_ON which was used to gather information
* ipv6: Fix OOPS in ip6_dst_lookup_tail().
* Linux 2.6.27-rc6

Read more
Pete & Amber

wl wireless driver in Intrepid

The wl wireless driver is from Broadcom, it contains a binary blob that makes the driver conform to the FCC regulations in the US. Sometime between 2.6.26 & 2.6.7 they changed a setting inside the blob called set_vlanmode. The end result is that when using the driver in its default state you can't ssh or telnet into another box.

Ben Collins first noticed this behavior and filed LP Bug #259816. Broadcom has since fixed the blob turning the set_vlanmode off. That kernel should hit the repositiories this week. In the mean time if you want to workaround it you can do the following.

# sudo iwpriv eth1 set_vlanmode 0

Make sure you change eth1 in the example above to whatever you wireless interface is on your box.

That will disable the vlan setting and ssh will work again.

~pete

Read more
Pete & Amber

Intrepid Alpha 5 Released

As I noted earlier $SUBJECT was released today. You can read about it here:

https://lists.ubuntu.com/archives/ubuntu-devel-announce/2008-September/000480.html

~pete

Read more
Pete & Amber

Intrepid and 2.6.27

As I talked about in my last blog post we are considering moving to 2.6.27 for Ubuntu Intrepid Ibex. Ben posted this RFC to the ubuntu-devel list which outlines the rationale and technical benefits. This came late in the Intrepid development cycle and as such comes with risk and lots of questions such as:

  • What are the regressions from 2.6.26 upstream and Ubuntu specific?
  • Whats the plan "B" or fall back plan? When does it get invoked?
  • What new "critical" bugs does 2.6.27 introduce?
  • What existing 2.6.26 bugs does 2.6.27 fix?
We have and will continue to issue calls for testing and our QA team has been all over this since day one. We have been tracking all of these issues and then some. For those of you who wish to follow along at home here is my list of links:
I published the plan "B" with overlaid decision points here: https://wiki.ubuntu.com/KernelTeam/2.6.27-kernel-plan

As it stands now we shipped 2.6.27rc4 with Intrepid Alpha5. We noticed some big suspend/resume issues with Alpha5. I noticed these issues on the 3 dell notebooks that I have. We will be updating to 2.6.27rc5 shortly which should resolve the issues and fix even more bugs.

Hope folks find this useful...

~pete

Read more
Pete & Amber

Thanks!

First let me say Thanks! to everyone who sent me happy birthday wishes on Facebook, email and IM. I appreciate it. I want to go on record of hating Krafty, dude I'm not 50!!! I'm 30 for the 12th time... I'm not 50 stop spreading rumors dammit!

On to more interesting news, tomorrow (Sept. 4th) Ubuntu Intrepid Ibex Alpha 5 is released. One of the more exciting items is that we are including 2.6.27rc4 Linux Kernel. This is a late change (as of last week), we had previously planned on going with 2.6.26.

There are numerous reasons why we are going with 2.6.27, first and foremost we are attempting to sync kernel versions with the other distributions, namely Fedora & OpenSUSE who both have publically planned to use the same kernel. This will allow for broader testing for the kernel across all distribtions with the end goal making the Linux kernel the best that it can be.

Its late so I'll post more about the Intrepid kernel tomorrow...

~pete

Read more
Pete & Amber

The week in Summary

Wow what a week its been. My postings so far have just been about our after hours activities. I want to give a little background first. As most of the the regular readers know I work for Canonical. Canonical is the commercial sponsor of the Linux distribution called Ubuntu. I'm the Kernel Team Manager, as such I'm part of the Distro team. A larger team that produces the Ubuntu operating system, in this team you will find developers, package maintainers, release engineers, kernel engineers and managers. The distro team is is broken down into several sub-teams (desktop, server etc...), each with a manager. This week was what we call our "Manager's Sprint. Its a week long meeting with Distro team managers with our boss the CTO (Matt Zimmerman). The week itself I think was one of the most productive meetings I've been in for quite awhile.

Our days were full, starting at 0930 and ending at 1830 with a few evenings of after work activities which I blogged about earlier. We covered everything from our teams structure, mission, growth to morale and job satisfaction. I've been a manager at every company that I've worked for since I got out of the Army and by far I can say Canonical truly cares about its workforce. And not the cheesy junk they teach in a MBA program. The vast majority of Canonical (upwards of 90%) employees work from home. Most people would say "work from home" where can I sign up... Its not as easy or simple as one would think. It takes a very disciplined type of person, you can't mind not being around your other co-workers, and most of all you have to be self-motivating. Many people can't take it, they find they need the office chat, collaboration with colleagues, and being to see your boss on a regular basis to get feedback, motivation and the like. Canonical makes it a priority for its managers to understand this unique aspect of the business and work with the staff to mitigate as much of this as possible. How you ask? Things like this past week, bringing teams (in this case the Distro team management) to meet face to face, hosting quarterly Distro Team Sprints, company all hands meetings, and encouraging every manager to get their teams together in person whenever possible. Another big help is UDS or the Ubuntu Developers Summit. UDS is where Canonical and the Ubuntu Developer Community get together to plan the next release of Ubuntu. Our next one is in December in California, Google is hosting us. More on that in a future blog.

The next question is "What is a Sprint", I'm glad you asked. Its basically a face to face meeting that is highly focused & fast paced with all the right people together in one spot.

We covered a lot of topics and had some very interesting and informative discussions. I'm very impressed with my peer managers, they are a very dedicated and sharp bunch. I have been asked by folks in casual discussion if everyone on the Canonical management team gets the Open source principals & ideals. I can honestly say yes from Mark Shuttleworth on down to the last manger gets it. Mark instills a culture of Open Source and it one of the first questions asked when decisions are made. Like, How is going to effect the community? weather that is the Ubuntu developer or user community or the Debian community (what is what Ubuntu is based on), to the upstream project. Mark is passionate about it and its in the management team as well.

I plan to do a series of blog postings about my first 90 days a Canonical, talking about my impressions and observations compared to Red Hat, my previous employer. For example... the hardest thing I found in moving from a Red Hat to a Debian based system, along with differences in development models & culture.

Enough for now. My battery is about dead on my notebook and I need to get a bit of sleep.

~pete

Read more