Rebuild specific kernel modules on PandaBoard


This procedure rebuilds the kernel modules for usb networking but the same procedure can be applied to other modules as well.

Environment

I am running Ubuntu 11.04 preinstalled netbook image for OMAP4.

Obtain Kernel Source

Download debian package from launchpad. I could not apt-get it for some reason. So I installed the deb package using

sudo dpkg -i linux-source-2.6.38_2.6.38-11.48_all.deb

Extract kernel source

After installation, the compressed kernel source is available at /usr/src/linux-source-2.6.38. You can extract the kernel source to your home folder like this

tar xjf /usr/src/linux-source-2.6.38/linux-source-2.6.38.tar.bz2

Obtain Kernel Headers

You may already have the kernel headers installed, otherwise

sudo apt-get linux-headers-omap4

Rebuild module

Head over to the folder of the module

cd ~/linux-source-2.6.38/drivers/net/usb

Rebuild using make

make -C /usr/src/linux-headers-2.6.38-1208-omap4 M=`pwd`

Replace modules

Backup existing module objects in case something goes wrong. Replace them

sudo cp *.ko /lib/modules/2.6.38-1208-omap4/kernel/drivers/net/usb/

Check if a module is already loaded

lsmod

and remove it

rmmod cdc_ether

Do something like plugging in the hardware so that the new module gets loaded.

That’s all.

[With some inspiration from here. The reason I was rebuilding was to fix a regression in the usbnet driver reported here.]

Sniff USB bus on Linux


There are two ways.

Using usbmon

Load the usbmon module

modprobe usbmon

The following command then prints data going to and fro on a bus

sudo cat /sys/kernel/debug/usb/usbmon/1u

Using Wireshark

I refer you to their USB wiki.

Google’s acquisition of Motorola Mobility


I didn’t see that coming, but it seems such a natural thing for Google and Motorola Mobility to have done.

Here’s why I think so:

1. Motorola probably has contributed more to Android than any other partner, other than Google itself.

2. The Motorola patents. They reportedly have over 17000 patents, a huge number of them in personal communications I’ll assume. They’ll save Android.

3. Google has a lot of clout on the cloud with the PC. Apple is doing some pretty neat things with its interpretation of what the cloud should be. In the mobile communications space, it may actually be starting a small revolution. Google can now deeply integrate its services, such as Google+, into mobile devices. Like Apple is doing with Twitter. Google did not have to buy Motorola to do that but now they have more reason to do it.

4. Google can now walk the talk. It is one thing to create an OS, another to design it with deep integration between hardware, software, and now, cloud services. It means supporting customers and listening to them bicker, and evolving with it. It means having some clout over the evolution of hardware.

5. Google can positively influence Motorola on design.

6. It may have a positive effect on the bottom line of both companies.

The other thing that Google could have done was to spin off Android to Motorola Mobility for peanuts, but putting measures in place for Android to thrive as open source. That they decided to stick with Android means that they are betting their future on it. I, for one, am keen to see what that future will be.